home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacHack 1996
/
MacHack 1996.toast
/
Presentations
/
Presentations ’93
/
Macintosh as Internet Server ƒ
/
inetd
/
in.rshd
/
RshD.h
< prev
next >
Wrap
Text File
|
1993-03-16
|
2KB
|
75 lines
//---------------------------------------------------------------------
//
// Copyright © 1992 David Peterson.
// All rights reserved.
//
// Permission to use, copy, modify, and distribute this software for
// any purpose and without fee is hereby granted, provided that the
// above copyright notice appear in all copies and that both that
// copyright notice and this permission notice appear in supporting
// documentation.
//
//---------------------------------------------------------------------
#ifndef __DAEMONAPP__
#include <DaemonApp.h>
#endif
#ifndef __MACTCPCOMMONTYPES__
#include <MacTCPCommonTypes.h>
#endif
#ifndef __CLIST__
#include <CList.h>
#endif
#ifndef __MYUTILS__
#include <myUtils.h>
#endif
class RshD;
class Command : public CItem {
public:
StreamPtr fStdOut;
StreamPtr fStdErr;
RshD* fShell;
Boolean fRelease;
Command(StreamPtr stream, RshD* shell);
~Command();
Boolean Initialize();
void GetStr(char* buff, int len);
void ExtractCommandName(char* instr, char* cmdName, int len);
void SendOK();
void SendError(char* msg);
Boolean FindCommand(char* cmdName, FSSpec* cmdSpec);
Boolean FindToolServer(PSNPtr psn);
void LaunchProcess(FSSpec* cmd, char* cmdString);
void GiveToToolServer(PSNPtr psn, char* cmdString);
Boolean OpenSecond(char* port);
};
class RshD : public DaemonApp {
typedef DaemonApp Inherited;
public:
CList fCommandList;
void HandleNewStream(StreamPtr stream);
virtual void InstallAEHandlers();
void LoseIt(Command* command);
};
extern "C" {
pascal OSErr AEStreamHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
pascal OSErr AEToolOutput(AppleEvent *messagein, AppleEvent *reply, long refIn);
pascal OSErr AEAnswerHandler(AppleEvent *messagein, AppleEvent *reply, long refIn);
};